//选择排序
// 循环遍历数组，每次都可以找出当前范围内的最小值，把它放在当前范围的头部
// 然后缩小排序范围，继续重复以上操作，直到数组有序

var example = [8, 94, 15, 88, 55, 76, 21, 39];
function selectSort(arr) {
  var len = arr.length;
  var minIndex, temp;
  //minIndex始终保存着最小值的位置的索引，随着i的自增，遍历的数组长度越来越短，直到完成排序。
  console.time('选择排序耗时')
  for (i = 0; i < len - 1; i++) {//移动左指针
    minIndex = i;
    for (j = i + 1; j < len; j++) {//找到范围内的最小值
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
    }
    temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }
  console.timeEnd('选择排序耗时');
  return arr;
}
console.log(selectSort(example));